package com.heima.day10.file;

import java.io.File;
import java.util.HashMap;

public class File08 {
    public static void main(String[] args) {
        //练习1：在当前模块下的aaa文件中创建一个a.txt文件夹
        //练习2：删除一个多级文件夹
        //练习3：统计一个文件夹中每个文件个数，并打印，打印格式如下 txt:3个
        //统计----定义一个变量来统计 ----弊端：只能统计1种文件
        //利用map集合进行数据统计，键----文件后缀名  值---次数
        File file = new File("day10");
        HashMap<String, Integer> hm = new HashMap<>();
        getCount(hm, file);
        System.out.println(hm);
    }

    private static void getCount(HashMap<String, Integer> hm, File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.isFile()) {
                String fileName = f.getName();
                String[] fileArr = fileName.split("\\.");
                if (fileArr.length == 2) {
                    String fileEndName = fileArr[1];
                    if (hm.containsKey(fileEndName)) {
                        //以存在
                        //将已经出现的次数获取
                        Integer count = hm.get(fileEndName);
                        //这种文件又出现了一次
                        count++;
                        //把已经出现的次数覆盖
                        hm.put(fileEndName, count);

                    } else {
                        //不存在
                        //表示当前文件夹第一次出现
                        hm.put(fileEndName, 1);
                    }

                }
            } else {
                getCount(hm, f);
            }
        }

    }
}
